﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ComunesMGI.DataTypes;

namespace ComunesMGI.Controles
{
    class TablaCamposCampoNumber : TablaCamposCampo
    {
        public TablaCamposCampoNumber(DataCampo dc)
            : base(dc)
        {
        }
        protected override Control CrearControl(ComunesMGI.DataTypes.DataCampo dc)
        {
            TextBox campo = new TextBox();
            if (!string.IsNullOrEmpty(dc.Valor))
            {
                campo.Text = dc.Valor;
            }
            return campo;
        }

        protected override string ObtenerValorCampo()
        {
            return ((TextBox)_campo).Text;
        }

        protected override Enums.CampoSharepoint ObtenerTipoCampo()
        {
            return ComunesMGI.Enums.CampoSharepoint.Number;
        }

        protected override List<string> ObtenerOpcionesCampo()
        {
            return null;
        }

        protected override void Validar(object sender, System.ComponentModel.CancelEventArgs e)
        {
            decimal temp;
            if (((TextBox)_campo).Text == "" && _requerido)
            {
                _handlerError.SetError(_campo, "El campo " + _titulo + " es requerido");
                return;
            }

            if (((TextBox)_campo).Text != "" && !decimal.TryParse(((TextBox)_campo).Text, out temp))
            {
                _handlerError.SetError(_campo, "El campo " + _titulo + " debe ser númerico");
                return;
            }

            _handlerError.SetError(_campo, "");
        }
    }
}
